package com.parcial.data.fachadas;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.parcial.data.entidades.RespuestaAlumno;
import com.parcial.data.util.Campo;
import com.parcial.data.util.Clave;

public class FachadaRespuestaAlumno extends FachadaAbstracta<RespuestaAlumno> {

	private static FachadaRespuestaAlumno fachadaRespuestaAlumno;
	
	public static FachadaRespuestaAlumno getFachadaRespuestaAlumnon() {
		if(fachadaRespuestaAlumno == null) {
			fachadaRespuestaAlumno = new FachadaRespuestaAlumno();
		}
		return fachadaRespuestaAlumno;
	}
	
	private FachadaRespuestaAlumno() {
	}
	
	@Override
	protected String obtenerNombreTabla() {
		return RespuestaAlumno.class.getSimpleName();
	}
	
	@Override
	protected String obtenerOrderString() {
		Clave auxClave = new Clave();
		auxClave.setColumnas(RespuestaAlumno.columnasClave());
		return auxClave.toOrderString();
	}

	@Override
	protected List<Campo> obtenerCampos(RespuestaAlumno pregunta) {
		List<Campo> campos = new ArrayList<Campo>();
		campos.add(new Campo(Integer.class, pregunta.getIdRespuestaAlumno()));
		campos.add(new Campo(Integer.class, pregunta.getNroPregunta()));
		campos.add(new Campo(String.class, pregunta.getLetraRespuesta()));
		campos.add(new Campo(Integer.class, pregunta.getIdExamenFk()));
		campos.add(new Campo(Integer.class, pregunta.getIdAlumnoFk()));
		return campos;
	}

	@Override
	protected List<RespuestaAlumno> convertirRS(ResultSet rs) {
		List<RespuestaAlumno> resps = new ArrayList<RespuestaAlumno>();
		try {
			while (rs.next()) {
				RespuestaAlumno ral = new RespuestaAlumno();
				ral.setIdRespuestaAlumno((rs.getInt("idRespuestaAlumno")));
				ral.setNroPregunta(rs.getInt("nroPregunta"));
				ral.setLetraRespuesta(rs.getString("letraRespuesta"));
				ral.setIdExamenFk(rs.getInt("idExamenFk"));
				ral.setIdAlumnoFk(rs.getInt("idAlumnoFk"));
				resps.add(ral);
			}
		} catch (Exception e) {
			System.out.println("Error al obtener la lista de respuestas");
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
		return resps;
	}

}
